package com.zmn.plat.dubbo.interfaces.orderconfig.distribute;

import javax.validation.constraints.NotNull;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.common.dto.orderconfig.distribute.RobOrderDIO;
import com.zmn.plat.dubbo.dto.orderconfig.distribute.DistributeArgsDRO;
import com.zmn.plat.dubbo.dto.orderconfig.distribute.DistributeConfigDRO;
import com.zmn.plat.dubbo.dto.orderconfig.distribute.RobOrderConfigDRO;
import com.zmn.plat.dubbo.dto.orderconfig.distribute.RobOrderDRO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * 类描述：派单参数查询远程查询接口
 *
 * @author mujunlin
 * @since 2020/03/02 4:56 下午
 */
@Api(value = "派单参数配置查询", tags = {"派单参数配置查询"})
public interface DistributeWeightListRemoteService {

    /**
     * 根据ID查询派单参数配置(返回直营派单配置)
     *
     * @param plat      平台ID
     * @param companyId 公司ID
     * @param cityId    城市ID
     * @return 派单参数配置
     */
    @ApiOperation(value = "根据ID查询派单参数配置")
    ResponseDTO<DistributeArgsDRO> findDistributeArgsById(@NotNull(message = "平台ID不能为空") Integer plat, @NotNull(message = "公司ID不能为空") Integer companyId,
                                                          @NotNull(message = "城市ID不能为空") Integer cityId, @NotNull(message = "业务类型不能为空") Integer bizType);

    /**
     * 查询派单参数配置 （同时获取平台直派配置和服务商派单配置）(返回直营派单配置)
     *
     * @param plat      平台ID
     * @param companyId 公司ID
     * @param cityId    城市ID
     * @return 派单参数配置
     */
    @ApiOperation(value = "查询派单参数配置")
    ResponseDTO<DistributeConfigDRO> findDistributeConfig(@NotNull(message = "平台ID不能为空") Integer plat,
                                                          @NotNull(message = "公司ID不能为空") Integer companyId,
                                                          @NotNull(message = "城市ID不能为空") Integer cityId,
                                                          @NotNull(message = "业务类型不能为空") Integer bizType);
    @ApiOperation(value = "查询抢单参数配置")
    ResponseDTO<RobOrderDRO> findRobOrderConfig(@NotNull(message = "查询参数必传") RobOrderDIO query);
}
